package xyz.ylx.apirotation.common.util;

import java.util.List;
import java.util.Optional;
import java.util.concurrent.atomic.AtomicInteger;

import org.springframework.util.CollectionUtils;

/**
 * API密钥工具类
 */
public class ApiKeyUtil {
    
    private static final AtomicInteger counter = new AtomicInteger(0);
    
    /**
     * 从API密钥列表中轮询获取下一个密钥
     * 
     * @param keys API密钥列表
     * @return 下一个API密钥，如果列表为空则返回空
     */
    public static Optional<String> getNextApiKey(List<String> keys) {
        if (CollectionUtils.isEmpty(keys)) {
            return Optional.empty();
        }
        int index = counter.getAndIncrement() % keys.size();
        return Optional.of(keys.get(index));
    }
    
    private ApiKeyUtil() {
        // 防止实例化
    }
} 